home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr49 / 303_01.zip / README.UNX < prev    next >
Text File  |  1993-04-01  |  2KB  |  63 lines

  1. ***** README *****
  2.  
  3. This README superceeds all other README's.
  4.  
  5. Program History:
  6.     This started out as the unc program, by John Collins. At that
  7. time it was a 68000 assembler for the UNISOFT unix environment. It was
  8. posted to the net as a dissasembler for Suns, I don't know who
  9. modified it for the sun environment or if that was ever done, but
  10. Janet Walz taught it about COFF, using the existing assembly syntax, I
  11. reworked the syntax to match the SGS syntax used by the unixpc (and
  12. the HP9000, I believe). Surprisingly, the code has remained resonably
  13. coherent during this time, and has remained well structured.
  14.  
  15.  
  16. Current Status:
  17.     At best, dissassemblers are of dubious value to anyone but system
  18. hackers and compiler writers. As I am both, I expect that this tool will 
  19. get used a great deal on *my* machine.
  20.  
  21.     The following features are supported
  22.     1) symbol resolution is done whenever possible. addresses abouve
  23. 0x300000 are considered constants (on a unix-pc, ths shared libraries are
  24. mapped in the address space above 0x300000)
  25.     2) the dissassembler will attempt to convert pc relative addresses
  26. to label jumps, in that it will calculate the destination address and insert
  27. a label at that point, if one is not already present.
  28.     3) the dissassembler decodes jump tables by recognising the swbeg
  29. psuedo instuction and treating the table as a list of offsets relative
  30. to the start of the table. Again, label insertion is done where neccessary.
  31.  
  32. THe idea is that you should be able to do 
  33.  
  34.     % dis foo > foo.s
  35.     % as foo.s
  36.     % ld foo.o
  37.  
  38. This is never completely possible, but it will work on some things. Remember
  39. that code originally linked to the shared libraries must be loaded with
  40. /lib/shlib.ifile. dis output will need a _start symbol inserted at the top
  41. of the output file, as in:
  42.  
  43.     text
  44.     global _start    # insert this
  45. _start:            # and this
  46.     ...
  47.     ...
  48.  
  49. Also note that the assembly output will already contain any necessary 
  50. library routines, so linking to libraries will not be neccessary.
  51.  
  52. BUGS:
  53.     THere are certainly bugs present, and I while I offer no support,
  54. I will gladly accept bug reports and publish fixes as I have time. Send
  55. bug reports to:
  56.  
  57.     alex@umbc3.ume.edu
  58.     uunet!umbc3!nerwin!alex
  59.  
  60.                     Alex Crain
  61.  
  62.  
  63.